package com.eke.service;

import java.util.List;

import com.eke.bean.Users;

public interface UsersService {
	/**
	 * 添加用户
	 * 
	 * @param users
	 *            用户对象
	 * @return {@link Boolean} 添加成功返回true 失败返回false
	 */
	public boolean addUser(Users users);

	/** 
	 * 验证用户
	 * 
	 * @param users
	 *            用户对象
	 * @return {@link Boolean} 登陆成功返回true 失败返回false
	 */
	public boolean verUser(Users users);

	/**
	 * 验证用户名是否存在
	 * 
	 * @param users
	 *            用户对象
	 * @return {@link Boolean} 存在返回true 失败返回false
	 */
	public boolean isExitUserName(Users users);

	/**
	 * 根据用户id查询用户详情
	 * 
	 * @param userId
	 * 		用户id
	 * @return {@link Users}
	 */
	public Users queryUserDetails(Integer userId);

	/**
	 * 查询所有用户，分页
	 * 
	 * @param startRow
	 *            第几页
	 * @param pageSize
	 *            每页数量
	 * @return {@link List} <{@link Users}> 返回用户集合
	 */
	public List<Users> queryAllUsers(int startRow, int pageSize);

	/**
	 * 用户发布问题减少积分
	 * 
	 * @param user_integral
	 *            发布问题所需积分
	 * @param userId
	 *            用户id
	 * @return {@link Boolean}
	 */
	public boolean addQuestionUpdateIntegral(Integer user_integral, Integer userId);

	/**
	 * 判断用户是否有足够积分
	 * 
	 * @param user_integral
	 *            文章所需积分
	 * @param userId
	 *            用户id
	 * @return {@link Boolean} true --积分充足 false积分不够
	 */
	public boolean isHaveEnoughIntegral(Integer need_integral, Integer userId);

	/**
	 * 查询所有用户
	 * 
	 * @param startRow
	 *            开始页
	 * @param pageSize
	 *            每页数量
	 * @return {@link List} <{@link Users}> 返回用户集合
	 */
	public List<Users> queryAllUser(int startRow, int pageSize);

	/**
	 * 根据用户名查询用户
	 * 
	 * @param userName
	 *            用户名
	 * @param startRow
	 *            开始页
	 * @param pageSize
	 *            每页数量
	 * @return {@link List} <{@link Users}> 返回用户集合
	 */
	public List<Users> queryUsers(String userName, int startRow, int pageSize);
	
	
}
